home *** CD-ROM | disk | FTP | other *** search
/ Almathera Ten Pack 3: CDPD 3 / Almathera Ten on Ten - Disc 3: CDPD3.iso / fish / 001-100 / 001-025 / 008 / src / hack.icon.c < prev    next >
C/C++ Source or Header  |  1995-03-17  |  2KB  |  80 lines

  1. #include <workbench/startup.h>
  2. #include <workbench/icon.h>
  3. /* #include <workbench/workbench.h> */
  4.  
  5. extern struct WBStartup *WBenchMsg;
  6. extern char pl_character[];
  7. extern char plname[];
  8.  
  9. geticon()
  10.    {
  11.    struct WBArg *argp;
  12.    char *argname;
  13.  
  14.    argp = WBenchMsg->sm_ArgList;
  15.    if (WBenchMsg->sm_NumArgs > 1)
  16.     {
  17.     argname = (argp+1)->wa_Name;
  18.     pl_character[0] = pl_character[1] = 0;
  19.     /* argp now points to the name */
  20.     if      (!strcmp(argname, "Wizard"      )) pl_character[0] = 'W';
  21.     else if (!strcmp(argname, "Speliologist")) pl_character[0] = 'S';
  22.     else if (!strcmp(argname, "Tourist"     )) pl_character[0] = 'T';
  23.     else if (!strcmp(argname, "Fighter"     )) pl_character[0] = 'F';
  24.     else if (!strcmp(argname, "Knight"      )) pl_character[0] = 'K';
  25.     else if (!strcmp(argname, "Caveman"     )) pl_character[0] = 'C';
  26.     else strcpy(plname, argname);
  27.     }
  28.    }
  29.  
  30. makeicon(name,type)
  31. char *name;
  32. char type;
  33.    {
  34.    char *source;
  35.    struct WBObject *object;
  36.  
  37.    switch(type) {
  38.     case 'w':
  39.     case 'W':    source = "Wizard";
  40.             break;
  41.     case 's':
  42.     case 'S':    source = "Speliologist";
  43.             break;
  44.     case 't':
  45.     case 'T':    source = "Tourist";
  46.             break;
  47.     case 'f':
  48.     case 'F':    source = "Fighter";
  49.             break;
  50.     case 'k':
  51.     case 'K':    source = "Knight";
  52.             break;
  53.     case 'c':
  54.     case 'C':    source = "Caveman";
  55.             break;
  56.     default:    source = "HACK";
  57.             break;
  58.     }
  59.    if ( (object = GetWBObject(source)) == NULL)
  60.     myprintf("Cannot get source icon - err #%d\n", IoErr() );
  61.    if ( (object = PutWBObject( name, object )) == NULL)
  62.     myprintf("Cannot create save icon - err #%d\n", IoErr() );
  63.    }
  64.  
  65. delicon(name)
  66.    {
  67.    struct WBObject *object;
  68.    char tempname[100];  /* should hold any file name */
  69.  
  70.    strcpy(tempname,name);
  71.    strcat(tempname,".info");
  72.    if ( unlink(tempname) == -1)
  73.     myprintf("Cannot delete .info file\n");
  74. /* this doesn't seem to work - perhaps the documentation is too vague */
  75. /*   if ( (object = GetWBObject(name)) == NULL)
  76.     myprintf("Cannot get source icon - err #%d\n", IoErr() );
  77.    FreeWBObject( object ); */
  78.  
  79.    }
  80.